#go语言项目约定
1、如果在函数内部出现错误，需记录该错误，然后抛出错误，直至回退到函数最外层进行处理。(对于项目初始化的函数，还需调用panic结束协程）
2、对于包内逻辑独立完整的类型，才需建立子包单独存放;对于其他情况,请在同一级包内进行处理。(注意:包与文件夹概念不同，轻易建立子包会造成数据与接口的暴露)
3、对于变量，一律以小写开头；如果该变量需要对包外提供，提供Get,Set接口进行数据访问。
4、对于常量，如果该常量仅包内可见，前缀小写（con_）；如果包外可见，前缀大写（Con_）。
5、对于自定义类型，如果仅包内可见，小写开头；如果包外可见，大写开头。类型内部字段名默认小写开头，需要序列化的字段大写。
6、对于通道（chan）,如果仅包内可见,小写开头；如果包外可见，大写开头，此处不提供接口访问。
7、在函数参数中出现的变量若与包内数据同名，统一以_开头加以区分。
8、对于需要向包外提供的数据，如果不需要修改，统一返回副本，如果需要在包外修改，请返回指针。